package com.xinghen.common.base.properties;

import lombok.Data;

/**
 * @author xinghen
 * @ClassName: AliyunProperties
 * @Package: com.xinghen.common.base.properties
 * @Description aliyun相关配置
 * @create 2018-04-11 17:39
 */
@Data
public class AliyunProperties {

    /**
     * 阿里云密钥相关配置
     */
    private AliyunKeyProperties key = new AliyunKeyProperties();

    /**
     * 阿里云rocketMq相关配置
     */
    private AliyunRocketMqProperties rocketMq = new AliyunRocketMqProperties();

    /**
     * 阿里云短信服务相关配置
     */
    private AliyunSmsProperties sms = new AliyunSmsProperties();


    /**
     * 阿里云密钥相关配置
     */
    @Data
    public class AliyunKeyProperties {

        /**
         * 密钥ID
         */
        private String accessKeyId;

        /**
         * 密钥
         */
        private String accessKeySecret;

    }

    /**
     * 阿里云rocketMq相关配置
     */
    @Data
    public class AliyunRocketMqProperties {

        /**
         * 消费者组
         */
        private String consumerGroup;

        /**
         * 生产者组
         */
        private String producerGroup;

        /**
         * 命名服务器地址，多个以逗号隔开
         */
        private String namesrvAddr;

        /**
         * 生产者是否使用可靠消息, 默认不使用
         */
        private boolean reliableMessageProducer;

        /**
         * 消费者是否使用可靠消息, 默认不使用
         */
        private boolean reliableMessageConsumer;

    }

    /**
     * 阿里云短信服务相关配置
     */
    @Data
    public class AliyunSmsProperties {

        /**
         * 阿里云管理控制台中配置的短信签名（状态必须是验证通过）
         */
        private String signName;

        /**
         * 机房信息
         */
        private String regionId;

        /**
         * 端点
         */
        private String endpoint;

        /**
         * 端点名称
         */
        private String endpointName;

        /**
         * 产品名称
         */
        private String product;

        /**
         * 产品域名
         */
        private String domain;

    }
}
